Conventional hard disk drives (HDD) increasingly use self-servo-write (SSW) processes to write servo sectors using the same heads that are used to read/write data. A read/write channel can be synchronized to rotational timing marks (RTM). The rotational timing marks can be, for example, back-electro-motive force (BEMF) sensor pulses in a spindle motor or reference servo sectors that are already written on a media (e.g., concentric servo sectors or spirals on a magnetic media). The SSW sectors can be written using a clock (e.g., a SSW clock) from the read/write channel hardware and can be used to measure the timing of consecutive rotational timing marks. For example, timing information can be presented as a series of timestamps on a free-running counter (e.g., a modulo counter) clocked by a SSW clock. The SSW clock is synchronized to the rotational timing marks in order to properly write the SSW sectors. For example, a voltage controlled oscillator (VCO) can adjust the frequency and phase of the SSW clock.
A control loop can be used to synchronize the SSW clock to the rotational timing marks. Examples of control loops include, but are not limited to, frequency-locked loops (FLL) and phase-locked loops (PLL). Typically, a PLL is used for synchronization in a SSW process. Due to variations in spindle speed, spindle motor assembly tolerances and/or written-in RTM errors, the RTMs can include variations that are synchronous and non-synchronous relative to spindle rotation. Furthermore, the variations can produce repeatable and non-repeatable phase errors. The repeatable and non-repeatable phase errors can result in non-uniform placement of SSW sectors. Phase errors can be minimized by increasing the bandwidth of the PLL. Increasing the PLL bandwidth can, however, increase system noise and reduce system stability and performance.